home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / rbbs / rbbs_mpl.zip / MCSB0705.MRG < prev    next >
Text File  |  1992-07-05  |  28KB  |  582 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against E:\RBBS\STOCK\CNFG-SUB.BAS to produce E:\RBBS\CHAT\CNFG-SUB.BAS
  3. * E:\RBBS\STOCK\CNFG-SUB.BAS:  Date 6-20-1992  Size 103455 bytes
  4. * ------------[ Created 07-05-1992 07:17:16 ]------------
  5. * REPLACING old line(s) by new
  6. ' $linesize:132
  7. ' $title: 'CNFG-SUB.BAS 17.4, Copyright 1987-92 by D. Thomas Mack'
  8. * ------[ first line different ]------
  9. '  Copyright 1991 by D. Thomas Mack, all rights reserved.
  10. '  Name ...............: CNFG-SUB.BAS
  11. '  First Released .....: March 22, 1992
  12. '  Subsequent Releases.: 
  13. '  Copyright ..........: 1987-92
  14. '  Purpose.............: The Remote Bulletin Board System for the IBM PC,
  15. '                        RBBS-PC, configuration program -- CONFIG.BAS
  16. '                        utilizes a lot of menus and string space.
  17. '                        These are incorporated within CNFG-SUB.BAS as a
  18. '                        seperately callable subroutines in order to free
  19. '                        up as much code as possible within the 64K code
  20. '                        segment used by CONFIG.BAS.
  21. '  Parameters..........: Most parameters are passed via a COMMON statement.
  22. '
  23. ' Subroutine  Line      Function of Subroutine
  24. '    Name    Number
  25. ' ALLCAPS    61212+     Captialize a string
  26. ' ANSIDECODE 62040+     Convert ANSI strings into english text expressions
  27. ' ANYINTEGER 61450      Prompt for any integer
  28. ' ANYNUMBER  61400      Prompt for any number
  29. ' ASKRO      61100      Ask a question on a specific row
  30. ' ASKUPOS    61300      Ask for identifying field in USERS record
  31. ' BRKFNAME   61830      Break file name in drive/path, prefix, extension
  32. ' CHKFMSDIR  61700      Check FMS directory for valid structure
  33. ' CHKPERSDIR 61755      Check Personal directory format
  34. ' CHKRANDOM  61751      Checks FMS/Pers read Randomly
  35. ' CNFGINIT   60385      Initialize CONFIG's constants
  36. ' COLORCODE  62040+     Convert response into ANSI-meaningful strings
  37. ' DISPLAY    12190      Display the CONFIG menu pages
  38. ' FINDFILE   61600      Determine whether a file exists
  39. ' FINDLAST   61850      Find last occurence of a character in a string
  40. ' GETANSI    62000      Prompt for ANSI colors to be used
  41. ' GETASCII   61810      Get any character by character or ascii value
  42. ' GETCOLOR   61950      Process request for setting color
  43. ' GETINIT    61110      Get answers that are integers
  44. ' GETNUMYN   61150      Get TRUE/FALSE answer to a YES/NO question
  45. ' GETYESNO   61200      Ask a question with a "yes" or "no" response
  46. ' HANDERR    61775+     Handle error checking for FMS directories
  47. ' MMINTEGER  61500      Prompt for integer with min and a max
  48. ' NETTYPE    60382      Prompt for supported network types
  49. ' REMOVE     61800      Remove characters from a string
  50. ' SECURE     61860      Allow commands and their security level to be changed
  51. ' SELMODEM   62100      Select modem to set modem strings
  52. ' SETSCRSCHK 61754      Sets up screen for check of FMS directory
  53. ' TRIMTRAIL  61840      Remove trailing characters from a string
  54. '
  55. '  $INCLUDE: 'CNFG-VAR.BAS'
  56. '
  57. '  $SUBTITLE: 'DISPLAY - subroutine to display CONFIG's menus'
  58. '  $PAGE
  59. '
  60. '  SUBROUTINE NAME    --  DISPLAY
  61. '
  62. '  INPUT PARAMETERS   --  PARAMETER        DESCRIPTION
  63. '                         IX = 0           DISPLAY THE CHOICE OF MENUS
  64. '                         IX = -1          RE-READ THE INPUT (INVALID REQUEST)
  65. '                         IX > 0           DISPLAY THE APPROPRIATE PAGE
  66. '
  67. '  OUTPUT PARAMETERS  --  HJ$              OPTION SELECTED
  68. '                         IPAGE            MENU PAGE CONTAINING OPTION
  69. '                         ILOOKUP          INDEX (1 TO 20) OF OPTION SELECTED
  70. '
  71. '  SUBROUTINE PURPOSE --  TO DISPLAY CONFIG'S MENUS AND REQUEST OPTION
  72. '
  73.       SUB DISPLAY STATIC
  74. '
  75. ' *  DISPLAY CONFIG'S MAIN FUNCTION KEY MENU
  76. '
  77.       IF IX > 0 THEN _
  78.          GOTO 12320
  79.       IF IX = -1 THEN _
  80.          GOTO 12590
  81. * REPLACING old line(s) by new
  82. 12190 COLOR FG,BG,BORDER
  83.       CLS
  84.       DISPLAYED.PAGE.NUMBER = 0
  85.       I! = FRE(C$)
  86.       COLOR 0,7,0
  87. * ------[ first line different ]------
  88.       LOCATE 4,3
  89.       PRINT " Maple RBBS-PC "+ CONFIG.VERSION$ + " CONFIGURATION PROGRAM "
  90.       COLOR FG,BG,BORDER
  91.       LOCATE 1,1,0
  92.       PRINT "Copyright (c) 1983-1991 Tom Mack"
  93.       LOCATE 2,1,0
  94.       PRINT "39 Cranbury Dr, Trumbull, CT. 06611";
  95.       IF CONFERENCE.MODE THEN _
  96.          GOSUB 24970
  97.       LOCATE  5,1
  98.       PRINT "   F1            Global RBBS-PC Parameters (part 1)
  99.       PRINT "   F2            Global RBBS-PC Parameters (part 2)
  100.       PRINT "   F3            Global RBBS-PC Parameters (part 3)
  101.       PRINT "   F4            RBBS-PC System Files (part 1)
  102.       PRINT "   F5            RBBS-PC System Files (part 2)
  103.       PRINT "   F6            Parameters for RBBS-PC's 'Doors'
  104.       PRINT "   F7            Parameters for RBBS-PC's Security (part 1)
  105.       PRINT "   F8            Parameters for RBBS-PC's Security (part 2)
  106.       PRINT "   F9            Parameters for multiple RBBS-PC's
  107.       PRINT "  F10            RBBS-PC utilities
  108.       PRINT "  Shift-F1       RBBS-PC File Management Faciliites"
  109.       PRINT "  Shift-F2       RBBS-PC Communications Parameters (part 1)
  110.       PRINT "  Shift-F3       RBBS-PC Communications Parameters (part 2)
  111.       PRINT "  Shift-F4       Parameters for RBBS-PC NET-MAIL
  112.       PRINT "  Shift-F5       New users parameters"
  113.       PRINT "  Shift-F6       Library Sub-System"
  114.       PRINT "  Shift-F7       RBBS-PC Color parameters"
  115.       PRINT "  Shift-F8       Reserved for future use"
  116.       XX$ = "Press END to terminate or Function Key to select page "
  117.       GOSUB 50345
  118.       LOCATE ,,1
  119. * REPLACING old line(s) by new
  120. 12370 DISPLAYED.PAGE.NUMBER = 2
  121.       GOSUB 24800
  122.       LOCATE  3,1
  123.       PRINT "21. Remind users of messages that they left ------ " + FNYESNO$(MESSAGE.REMINDER)
  124.       PRINT "22. Remind users of # uploads and downloads? ----- " + FNYESNO$(REMIND.FILE.TRANSFERS)
  125.       PRINT "23. Remind users of their user preferences? ------ " + FNYESNO$(REMIND.PROFILE)
  126.       PRINT "24. Enable download of new files at logon -------- " + FNYESNO$(NEW.FILES.CHECK)
  127.       PRINT "25. Default user page length is ------------------" + STR$(PAGE.LENGTH)
  128.       PRINT "26. Maximum number of lines allowed per message --" + STR$(MAX.MESSAGE.LINES)
  129.       PRINT "27. Is system 'welcome' interruptable? ----------- " + FNYESNO$(WELCOME.INTERRUPTABLE)
  130.       PRINT "28. Are system bulletins to be 'optional'? ------- " + FNYESNO$(BULLETINS.OPTIONAL)
  131.       PRINT "29. Type of PC RBBS-PC will be running on? ------- " + COMPUTER.TYPE$
  132. * ------[ first line different ]------
  133.       PRINT "30.  Symbols to use for SYSOP commands ----------- " + SYSOP.COMMANDS$
  134.       PRINT "31.  Symbols to use for MAIN menu commands ------- " + MAIN.COMMANDS$
  135.       PRINT "32. Symbols to use for FILE menu commands -------- " + FILE.COMMANDS$
  136.       PRINT "33.  Symbols to use for UTILITIES menu commands -- " + UTIL.COMMANDS$
  137.       PRINT "34. Symbols to use for global commands ----------- " + GLOBAL.COMMANDS$
  138.       PRINT "35. Show section in command prompt --------------- " + FNYESNO$(SHOW.SECTION)
  139.       PRINT "36. Show commands in command prompt -------------- " + FNYESNO$(COMMANDS.IN.PROMPT)
  140.       PRINT "37. Restrict valid commands to current section --- " + FNYESNO$(RESTRICT.VALID.CMDS)
  141.       PRINT "38. Use machine language routines for speed ------ " + FNYESNO$(TURBO.RBBS)
  142.       PRINT "39. Use BASIC PRINT for screen writes ------------ " + FNYESNO$(USE.BASIC.WRITES)
  143.       PRINT "40. # of lines for extended file descriptions ----" + STR$(MAX.EXTENDED.LINES)
  144.       GOTO 12580
  145. * REPLACING old line(s) by new
  146. 12380 DISPLAYED.PAGE.NUMBER = 3
  147.       GOSUB 24800
  148.       LOCATE  3,1
  149.       PRINT "41. Field used to identify users ----------------- " + HASH.ID$
  150.       PRINT "42. Field used to distinguish users with same ID-- " + INDIV.ID$
  151.       PRINT "43. Start position identifying personal downloads-"  + STR$(PERSONAL.BEGIN)
  152.       PRINT "44. Field length to identify personal downloads --"  + STR$(PERSONAL.LEN)
  153.       PRINT "45. Prompt for first part of personal identifier - " + FIRST.NAME.PROMPT$
  154.       PRINT "46. Prompt for last part of personal identifier -- " + LAST.NAME.PROMPT$
  155.       PRINT "47. Enforce upload/download ratios --------------- " + FNYESNO$(ENFORCE.UPLOAD.DOWNLOAD.RATIOS)
  156.       PRINT "48. RESTRICT users by SUBSCRIPTION date ---------- " + FNYESNO$(RESTRICT.BY.DATE)
  157.       PRINT "49. Security level when SUBSCRIPTION expires -----"  + STR$(EXPIRED.SECURITY)
  158.       PRINT "50. Days before expiration to warn callers -------"  + STR$(DAYS.TO.WARN)
  159.       PRINT "51. Default # days in SUBSCRIPTION PERIOD --------"  + STR$(DAYS.IN.SUBSCRIPTION.PERIOD)
  160.       PRINT "52. Turn printer off after each recycle ---------- " + FNYESNO$(TURN.PRINTER.OFF)
  161. * ------[ first line different ]------
  162.       PRINT "53.  OMIT Users Name from UpLoadLg.def file  ----- " + FNYESNO$(MUSIC)
  163.       PRINT "54. BUFFER SIZE used when displaying text files --" + STR$(BUFFER.SIZE)
  164.       PRINT "55. Stack space to be made available -------------" + STR$(SIZE.OF.STACK)
  165.       PRINT "56. File shown users when SYSOP wants system next  " + NOT.YET.IN$ ' F7.MESSAGE$
  166.       PRINT "57. Ask users their (What is your ...) ----------- " + USER.LOCATION$
  167.       PRINT "58. ---------------------------------------------- "
  168.       PRINT "59.  No internal protocols with Maple (use 128)---" + STR$(WRITE.BUF.DEF)
  169.       PRINT "60. Add Users Name to Dir listing --------------- " + VOICE.TYPE$
  170.       GOTO 12580
  171. * REPLACING old line(s) by new
  172. 12500 DISPLAYED.PAGE.NUMBER = 12
  173.       GOSUB 24800
  174.       LOCATE 3,1
  175.       PRINT "221. Communications port to be used by RBBS-PC ---- " + COM.PORT$
  176.       PRINT "222. # of seconds to wait for modem to initialize -" + STR$(MODEM.INIT.WAIT.TIME)
  177.       PRINT "223. Seconds to wait before issuing modem commands-" + STR$(MODEM.COMMAND.DELAY.TIME)
  178.       PRINT "224. Number of rings to wait before answering -----" + STR$(REQUIRED.RINGS);
  179.       IF INSTR(USER.INIT.COMMAND$, "S0=255") > 0 THEN _
  180.          PRINT " RING BACK";
  181.       PRINT
  182.       PRINT "225. Set the modem commands"
  183.       PRINT "226. ---------------------------------------------- "
  184.       PRINT "227. Issue modem commands between rings ----------- " ; FNYESNO$(COMMANDS.BETWEEN.RINGS)
  185.       PRINT "228. BPS rate to initially open modem at ---------- " + MODEM.INIT.BAUD$
  186.       X$ = STR$(WAIT.BEFORE.DISCONNECT) + " seconds"
  187.       IF WAIT.BEFORE.DISCONNECT = 0 THEN _
  188.          X$ = "NO"
  189.       PRINT "229. Log off user who are idle for ----------------" + X$
  190.       PRINT "230. Are you using a 'DUMB' auto-answer modem? ---- " ; FNYESNO$(DUMB.MODEM)
  191.       PRINT "231. Initialize modem firmware for RBBS-PC."
  192.       PRINT "232. # seconds to wait after dropping DTR ---------"  + STR$(DTR.DROP.DELAY)
  193.       IF PROTO.DEF$ = "" THEN _
  194.          X$ = NONE.PICKED$ _
  195.       ELSE X$ = PROTO.DEF$
  196.       PRINT "233. File with PROTOCOL definitions --------------- " ; X$
  197. * ------[ first line different ]------
  198.       PRINT "234.  AUTODOWNLOAD stripped out with Maple Merges - " ; FNYESNO$(ASK.IDENTITY)
  199.       PRINT "235. Require non-ascii protocol for BASIC files --- " ; FNYESNO$(REQUIRE.NON.ASCII)
  200.       X$ = STR$(RECYCLE.WAIT) + " minutes"
  201.       IF RECYCLE.WAIT = 0 THEN _
  202.          X$ = "<Don't recycle>"
  203.       PRINT "236. Recycle if no calls are received within ------" + X$
  204.       PRINT "237. Leave modem at initial baud ------------------ " + FNYESNO$(KEEP.INIT.BAUD)
  205.       GOTO 12580
  206. * REPLACING old line(s) by new
  207. 12530 DISPLAYED.PAGE.NUMBER = 16
  208.       GOSUB 24800
  209.       LOCATE  3,1
  210.       X$ = LIBRARY.DRIVE$
  211.       IF LIBRARY.DRIVE$ = "" THEN _
  212.          X$ = NONE.PICKED$
  213. * ------[ first line different ]------
  214.       PRINT "301.  Work Drv for CHAT (Ram disk recommended)---- " + X$
  215.       PRINT "302. Drive/Path for Library directory ------------ " + LIBRARY.DIRECTORY.PATH$
  216.       PRINT "303. Extension for Library directory ------------- " + LIBRARY.DIRECTORY.EXTENTION$
  217.       PRINT "304. Drive/Path for V)iew feature ---------------- " + LIBRARY.WORK.DISK.PATH$
  218.       PRINT "305. # of disks in Library -----------------------" + STR$(LIBRARY.MAX.DISK)
  219.       PRINT "306. # of master Library subdirectories ----------" + STR$(LIBRARY.MAX.DIRECTORY)
  220.       PRINT "307. # of subdirectories in each master ----------" + STR$(LIBRARY.MAX.SUBDIR)
  221.       PRINT "308. Prefix of Library subdirectories ------------ " + LIBRARY.SUBDIR.PREFIX$
  222.       PRINT "309. Name of Library subsystem command menu ------ " + MENU$(6)
  223.       PRINT "310. Symbols to use for Library menu commands ---- " + LIBRARY.COMMANDS$
  224.       M27$ = STR$(PS)
  225.       IX = LIBRARY.FUNCTION(1)
  226.       FOR I = 1 TO NUM.LIBRARY
  227.          IF IX<>LIBRARY.FUNCTION(I) THEN _
  228.             M27$ = "(Variable)" : _
  229.             GOTO 12531
  230.       NEXT
  231. * REPLACING old line(s) by new
  232. 24800 CLS
  233.       I! = FRE(C$)
  234.       COLOR 0,7,0
  235. * ------[ first line different ]------
  236.       LOCATE 1,5
  237.       PRINT " Maple RBBS-PC " + CONFIG.VERSION$ + " Configuration ";
  238.       IF CONFERENCE.MODE THEN _
  239.          GOSUB 24970
  240.       COLOR FG,BG,BORDER
  241.       PRINT " Page" + STR$(DISPLAYED.PAGE.NUMBER) + " of" + STR$(MAXIMUM.DISPLAYABLE.PAGES)
  242.       RETURN
  243. * REPLACING old line(s) by new
  244. 60382 CLS
  245.       LOCATE 3,1
  246.       PRINT "     RBBS-PC is supported in the following:"
  247.       PRINT "                   Environment"
  248.       PRINT "          0. Single RBBS-PC in an IBM DOS environment"
  249. * ------[ first line different ]------
  250.       PRINT "          1. Not in Maple Code (previously Multilink option)"
  251.       PRINT "          2. Omninet (CORVUS)"
  252.       PRINT "          3. PC-NET (Orchid)"
  253.       PRINT "          4. DESQview (Quarterdeck)"
  254.       PRINT "          5. 10 NET (Fox Research)"
  255.       PRINT "          6. NETBIOS (DOS SHARE)"
  256.       PRINT "          7. DoubleDOS, but file sharing not supported."
  257. * REPLACING old line(s) by new
  258. 60390 MACRO.DRVPATH$             = D$
  259.       MACRO.EXTENSION$           = ""
  260.       MAIN.COMMANDS.DEFAULTS$    = "ABCDEFIJKOPRSTUVW@"
  261.       MAIN.COMMANDS$             = MAIN.COMMANDS.DEFAULTS$
  262.       MAIN.FUNCTION$(1,1)        = "A)nswer questionnaire  "
  263.       MAIN.FUNCTION$(2,1)        = "B)ulletins             "
  264.       MAIN.FUNCTION$(3,1)        = "C)omments              "
  265.       MAIN.FUNCTION$(4,1)        = "D)oor subsystem        "
  266.       MAIN.FUNCTION$(5,1)        = "E)nter message         "
  267.       MAIN.FUNCTION$(6,1)        = "F)iles subsystem       "
  268.       MAIN.FUNCTION$(7,1)        = "I)nitial welcome       "
  269.       MAIN.FUNCTION$(8,1)        = "J)oin a conference     "
  270.       MAIN.FUNCTION$(9,1)        = "K)ill messages         "
  271.       MAIN.FUNCTION$(10,1)       = "O)perator page         "
  272.       MAIN.FUNCTION$(11,1)       = "P)ersonal mail         "
  273.       MAIN.FUNCTION$(12,1)       = "R)ead messages         "
  274.       MAIN.FUNCTION$(13,1)       = "S)can messages header  "
  275. * ------[ first line different ]------
  276.       MAIN.FUNCTION$(14,1)       = " T)ype ASCII file      "
  277.       MAIN.FUNCTION$(15,1)       = "U)tilities subsystem   "
  278.       MAIN.FUNCTION$(16,1)       = "V)iew conference mail  "
  279.       MAIN.FUNCTION$(17,1)       = "W)ho's on other nodes  "
  280.       MAIN.FUNCTION$(18,1)       = "@)InterNode Chat       "
  281.       MAIN.FUNCTION$(1,2)        = "A"
  282.       MAIN.FUNCTION$(2,2)        = "B"
  283.       MAIN.FUNCTION$(3,2)        = "C"
  284.       MAIN.FUNCTION$(4,2)        = "D"
  285.       MAIN.FUNCTION$(5,2)        = "E"
  286.       MAIN.FUNCTION$(6,2)        = "F"
  287.       MAIN.FUNCTION$(7,2)        = "I"
  288.       MAIN.FUNCTION$(8,2)        = "J"
  289.       MAIN.FUNCTION$(9,2)        = "K"
  290.       MAIN.FUNCTION$(10,2)       = "O"
  291.       MAIN.FUNCTION$(11,2)       = "P"
  292.       MAIN.FUNCTION$(12,2)       = "R"
  293.       MAIN.FUNCTION$(13,2)       = "S"
  294.       MAIN.FUNCTION$(14,2)       = "T"
  295.       MAIN.FUNCTION$(15,2)       = "U"
  296.       MAIN.FUNCTION$(16,2)       = "V"
  297.       MAIN.FUNCTION$(17,2)       = "W"
  298.       MAIN.MESSAGE.BACKUP$       = D$ + "MESSAGES.BAK"
  299.       MAIN.MESSAGE.FILE$         = D$ + "MESSAGES"
  300.       MAIN.PUI$                  = D$ + "MAIN.PUI"
  301.       MAIN.USER.FILE$            = D$ + "USERS"
  302.       MASTER.DIRECTORY.NAME$     = ""
  303.       MAX.ALLOWED.MSGS.FRM.DEF   = 5
  304.       MAX.CARRIER.WAIT           = 30
  305.       MAX.DESC.LEN               = 40
  306.       MAX.EXTENDED.LINES         = 2
  307.       MAX.MESSAGE.LINES          = 19
  308.       MAX.PER.DAY                = 0
  309.       MAX.REG.SEC                = 0
  310.       MAX.USR.FILE.SIZE.FRM.DEF  = 16
  311.       MAX.WORK.VAR               = 30
  312.       MAXD                       = 15
  313.       MAXIMUM.DISPLAYABLE.PAGES  = 17
  314.       MAXIMUM.PASSWORD.CHANGES   = 3
  315.       MAXIMUM.VIOLATIONS         = 5
  316.       MAXIMUM.NUMBER.OF.NODES    = 1
  317.       MENU$(1)                   = D$ + "MENU1"
  318.       MENU$(2)                   = D$ + "MENU2"
  319.       MENU$(3)                   = D$ + "MENU3"
  320.       MENU$(4)                   = D$ + "MENU4"
  321.       MENU$(5)                   = D$ + "MENU5"
  322.       MENU$(6)                   = D$ + "MENU6"
  323.       MENUS.CAN.PAUSE            = TRUE
  324.       MESSAGE.REMINDER           = TRUE
  325.       MESSAGES.CAN.GROW          = FALSE
  326.       MIN.NEWCALLER.BAUD         = 0
  327.       MIN.OLDCALLER.BAUD         = 0
  328.       MIN.SEC.TO.VIEW            = DEFAULT.SECURITY.LEVEL
  329.       MINIMUM.LOGON.SECURITY     = 0
  330.       MINIMUM.SECURITY.FOR.TEMP.PASSWORD = 5
  331.       MINUTES.PER.SESSION!       = 72
  332.       MLCOM                      = FALSE
  333.       MM                         = 5
  334.       MO$                        = DD$
  335.       MUSIC                      = FALSE
  336.       NET.MAIL$                  = "<none>"
  337.       NETWORK.TYPE               = 0
  338.       NETWORK.TYPE$              = "IBM's DOS"
  339.       NEW.FILES.CHECK            = FALSE
  340.       NEW.USER.QUESTIONNAIRE$    = D$ + "RBBS-REG.DEF"
  341.       NEWUSER.FILE$              = D$ + "NEWUSER"
  342.       NEWUSER.SETS.DEFAULTS      = TRUE
  343.       OMIT.MAIN.DIRECTORY$       = "NO"
  344.       OMIT.UPLOAD.DIRECTORY$     = "NO"
  345.       OVERWRITE.SECURITY.LEVEL   = SYSOP.SECURITY.LEVEL
  346.       PAGE.LENGTH                = 23
  347.       PAGING.PRINTER.SUPPORT$    = ". "
  348.       PASSWORD.FILE$             = D$ + "PASSWRDS"
  349.       PCJR                       = FALSE
  350.       PERSONAL.BEGIN             = 1
  351.       PERSONAL.DIR$              = D$+"PRIV.DEF"
  352.       PERSONAL.DRVPATH$          = D$
  353.       PERSONAL.LEN               = 31
  354.       PERSONAL.CONCAT            = FALSE
  355.       PRELOG$                    = D$ + "PRELOG"
  356.       PRIVATE.READ.SEC           = DEFAULT.SECURITY.LEVEL
  357.       PROTO.DEF$                 = D$ + "PROTO.DEF"
  358.       PROMPT.BELL                = 0
  359.       PROMPT.HASH$               = "Name"
  360.       PROMPT.INDIV$              = ""
  361.       PS                         = 5
  362.       PUBLIC.READ.SEC            = DEFAULT.SECURITY.LEVEL
  363.       QUES.PATH$                 = D$
  364.       RBBS.BAT$                  = D$ + "RBBS" + NODE.ID$ + ".BAT"
  365.       RBBS.NAME$                 = "RBBS-PC"
  366.       RCTTY.BAT$                 = D$ + "RCTTY" + NODE.ID$ + ".BAT"
  367.       RECYCLE.TO.DOS             = 0
  368.       RECYCLE.TO.DOS$            = "INTERNAL"
  369.       RECYCLE.WAIT               = 0
  370.       REDIRECT.IO.METHOD         = TRUE
  371.       REGISTRATION.PROGRAM$      = "<none>"
  372.       REMEMBER.NEW.USERS         = TRUE
  373.       REMIND.FILE.TRANSFERS      = FALSE
  374.       REMIND.PROFILE             = FALSE
  375.       REQUIRE.NON.ASCII          = TRUE
  376.       REQUIRED.QUESTIONNAIRE$    = "<none>"
  377.       REQUIRED.RINGS             = 1
  378.       RESTRICT.BAUD              = FALSE
  379.       RESTRICT.BY.DATE           = FALSE
  380.       RESTRICT.VALID.CMDS        = FALSE
  381.       RTS$                       = "NO"
  382.       SCREEN.OUT.MSG$            = "SEEN-BY: "
  383.       SEC.CHANGE.MSG             = SYSOP.SECURITY.LEVEL
  384.       SEC.LVL.EXEMPT.FRM.PURGING = SYSOP.SECURITY.LEVEL
  385.       SECVIO.HLP$                = D$ + "SECVIO." + HELP.EXTENSION$
  386.       SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
  387.       SF                         = SYSOP.SECURITY.LEVEL
  388.       SHOOT.YOURSELF             = FALSE
  389.       SHOW.SECTION               = TRUE
  390.       SIZE.OF.STACK              = 1024
  391.       SL.CATEGORIZE.UPLOADS      = SYSOP.SECURITY.LEVEL
  392.       SMART.TEXT                 = 123
  393.       START.HASH                 = 1
  394.       START.INDIV                = 0
  395.       START.OFFICE.HOURS         = 800
  396.       SURVIVE.NOUSER.ROOM        = FALSE
  397.       SWITCH.BACK                = FALSE
  398.       SYSOP.COMMANDS.DEFAULTS$   = "1234567"
  399.       SYSOP.COMMANDS$            = SYSOP.COMMANDS.DEFAULTS$
  400.       SYSOP.FUNCTION$(1,1)       = " 1 List comments      "
  401.       SYSOP.FUNCTION$(2,1)       = " 2 List CALLERS log   "
  402.       SYSOP.FUNCTION$(3,1)       = " 3 Recover a message  "
  403.       SYSOP.FUNCTION$(4,1)       = " 4 Erase comments     "
  404.       SYSOP.FUNCTION$(5,1)       = " 5 User maintenance   "
  405.       SYSOP.FUNCTION$(6,1)       = " 6 Toggle Page bell   "
  406.       SYSOP.FUNCTION$(7,1)       = " 7 Exit to DOS        "
  407.       SYSOP.FUNCTION$(1,2)       = " 1"
  408.       SYSOP.FUNCTION$(2,2)       = " 2"
  409.       SYSOP.FUNCTION$(3,2)       = " 3"
  410.       SYSOP.FUNCTION$(4,2)       = " 4"
  411.       SYSOP.FUNCTION$(5,2)       = " 5"
  412.       SYSOP.FUNCTION$(6,2)       = " 6"
  413.       SYSOP.FUNCTION$(7,2)       = " 7"
  414.       SYSOP.FIRST.NAME$          = "TOM"
  415.       SYSOP.LAST.NAME$           = "MACK"
  416.       SYSOP.MENU.SECURITY.LEVEL  = SYSOP.SECURITY.LEVEL
  417.       SYSOP.PASSWORD.1$          = "SECRET"
  418.       SYSOP.PASSWORD.2$          = "NAME"
  419.       TEST.ANSI.TIME             = 0
  420.       TIME.TO.DROP.TO.DOS        = 0
  421.       TRASHCAN.FILE$             = D$ + "TRASHCAN"
  422.       TURN.PRINTER.OFF           = FALSE
  423.       TURBO.RBBS                 = TRUE
  424.       UE                         = 5
  425.       FMS.DIRECTORY$             = ""
  426.       UPCAT.HELP$                = "UPCAT"
  427.       UPLOAD.DIRECTORY$          = "99"
  428.       UPLOAD.PATH$               = D$
  429.       UPLOAD.SUBDIR$             = ""
  430.       UPLOAD.TIME.FACTOR!        = 0
  431.       UPLOAD.TO.SUBDIR           = FALSE
  432.       USE.BASIC.WRITES           = FALSE
  433.       USE.DEVICE.DRIVER$         = ""
  434.       USER.LOCATION$             = "CITY and STATE"
  435.       UTIL.COMMANDS.DEFAULTS$    = "BCEFGLMPRSTU"
  436.       UTIL.COMMANDS$             = UTIL.COMMANDS.DEFAULTS$
  437.       UTILITY.FUNCTION$(1,1)     = "B)ank time            "
  438.       UTILITY.FUNCTION$(2,1)     = "C)lock (time)         "
  439.       UTILITY.FUNCTION$(3,1)     = "E)cho                 "
  440.       UTILITY.FUNCTION$(4,1)     = "F)ile x-fer protocol  "
  441.       UTILITY.FUNCTION$(5,1)     = "G)raphics             "
  442.       UTILITY.FUNCTION$(6,1)     = "L)ines per page       "
  443.       UTILITY.FUNCTION$(7,1)     = "M)sg margin setting   "
  444.       UTILITY.FUNCTION$(8,1)     = "P)assword change      "
  445.       UTILITY.FUNCTION$(9,1)     = "R)eview defaults      "
  446.       UTILITY.FUNCTION$(10,1)    = "S)tatistics           "
  447.       UTILITY.FUNCTION$(11,1)    = "T)oggle               "
  448.       UTILITY.FUNCTION$(12,1)    = "U)ser log scan        "
  449.       VOICE.TYPE                 = 0
  450.       VOICE.TYPE$                = NONE.PICKED$
  451.       XON.XOFF                   = FALSE
  452.       ZCallersLst$               = D$ + "CALLLST.DEF"
  453.       ZCopyrightSecs             = 8
  454.       ZDistriHelp$               = "DISTRI"
  455.       ZDistriPath$               = D$
  456.       ZEnableCC                  = FALSE
  457.       ZMaxBank                   = 60
  458.       ZMinSecPersUpld            = SYSOP.SECURITY.LEVEL
  459.       ZMsgSecCats$               = "URP"
  460.       FOR I = 1 TO LEN(UTIL.COMMANDS.DEFAULTS$)
  461.          UTILITY.FUNCTION$(I,2) = MID$(UTIL.COMMANDS.DEFAULTS$,I,1)
  462.       NEXT
  463.       WAIT.BEFORE.DISCONNECT     = 180
  464.       WELCOME.FILE$              = D$ + "WELCOME"
  465.       WELCOME.INTERRUPTABLE      = TRUE
  466.       WILL.SUBDIRS.B.USED        = FALSE
  467.       WRITE.BUF.DEF              = 1024
  468.       FOR I = 1 TO NUM.SYSOP
  469.          SYSOP.FUNCTION(I) = SF
  470.       NEXT
  471.       FOR I = 1 TO NUM.MAIN
  472.          MAIN.FUNCTION(I) = MM
  473.       NEXT
  474.       FOR I = 1 TO NUM.FILES
  475.          FILES.FUNCTION(I) = FC
  476.       NEXT
  477.       FOR I = 1 TO NUM.LIBRARY
  478.          LIBRARY.FUNCTION(I) = PS
  479.       NEXT
  480.       FOR I = 1 TO NUM.UTILITY
  481.          UTILITY.FUNCTION(I) = UE
  482.       NEXT
  483.       FOR I = 1 TO NUM.GLOBAL
  484.          GLOBAL.FUNCTION(I) = GB
  485.       NEXT
  486.       CALL MODEMINITCMD
  487.       END SUB
  488. '  $SUBTITLE: 'VOICETYPE - subroutine to select voice'
  489. '  $PAGE
  490. '
  491. '  SUBROUTINE NAME    --  VOICETYPE
  492. '
  493. '  INPUT PARAMETERS   --  VOICE.TYPE
  494. '                         VOICE.TYPE$
  495. '                         SUBROUTINE.PARAMETER
  496. '
  497. '  OUTPUT PARAMETERS  --  VOICE.TYPE
  498. '                         VOICE.TYPE$
  499. '
  500. '  SUBROUTINE PURPOSE --  TO SELECT THE RBBS-PC SUPPORTED VOICE
  501. '                         SYNTHESIZERS
  502. '
  503.       SUB VOICETYPE STATIC
  504.       ON SUBROUTINE.PARAMETER GOTO 60482,60484
  505. * REPLACING old line(s) by new
  506. 60482 CLS
  507.       LOCATE 3,1
  508. * ------[ first line different ]------
  509.       PRINT "     Add Users Name to Dir listing:"  'Pe 06/01/92
  510.       PRINT 
  511.       PRINT "          0. No"                      
  512.       PRINT "          1. Yes"
  513.       PRINT
  514. * REPLACING old line(s) by new
  515. * ------[ first line different ]------
  516. 60483 CALL ASKRO("Select Please (0 or 1, [ENTER] quits)",24,X$)
  517.       IF X$ = "" THEN _
  518.          EXIT SUB
  519.       VOICE.TYPE = VAL(X$)
  520.       IF VOICE.TYPE < 0 OR VOICE.TYPE > 2 THEN _
  521.          GOTO 60483
  522. * REPLACING old line(s) by new
  523. 60484 IF VOICE.TYPE = 0 THEN _
  524. * ------[ first line different ]------
  525.          VOICE.TYPE$ = "Don't add"
  526.       IF VOICE.TYPE = 1 THEN _
  527.          VOICE.TYPE$ = "Add Users Name"
  528.       IF VOICE.TYPE = 2 THEN _
  529.          VOICE.TYPE$ = "Add Users Name"
  530.       END SUB
  531. '  $SUBTITLE: 'ASKRO - ask a question at a specific row'
  532. '  $PAGE
  533. '
  534. '  SUBROUTINE NAME    --  ASKRO
  535. '
  536. '  INPUT PARAMETERS   --  PARAMETER         MENANING
  537. '                         ANS$           STRING TO PUT THE ANSWER IN
  538. '                         STRNG$         STRING CONTAINING THE QUESTION
  539. '                         RO             ROW TO ASK THE QUESTION ON
  540. '
  541. '  OUTPUT PARAMETERS  --  ANS$           RESPONSE FROM THE KEYBOARD
  542. '
  543. '  SUBROUTINE PURPOSE --  TO ASK A QUESTION ON THE PC'S DISPLAY AT A
  544. '                         SPECIFIC ROW
  545. '
  546.       SUB ASKRO (STRNG$,RO,ANS$) STATIC
  547. * REPLACING old line(s) by new
  548. 61900 CLS
  549.       I! = FRE(C$)
  550.       COLOR 0,7,0
  551. * ------[ first line different ]------
  552.       LOCATE 1,18
  553.       PRINT " Maple RBBS-PC "+ CONFIG.VERSION$ + " Default Configuration";
  554.       COLOR FG,BG,BORDER
  555.       LOCATE  2,5
  556.       PRINT "The RBBS-PC " + _
  557.              SECTION$ + _
  558.             " Commands are as follows:"
  559.       LOCATE   3,10
  560.       XX$ = "Command             Security"
  561.       IF IPAGE = 2 OR _
  562.          VAL(OPTION$) = 310 THEN _
  563.          XX$ = "Description         Command"
  564.       PRINT XX$
  565.       RETURN
  566.       END SUB
  567. '  $SUBTITLE: 'GETCOLOR - get colors using natural language'
  568. '  $PAGE
  569. '
  570. '  SUBROUTINE NAME    -- GETCOLOR
  571. '
  572. '  INPUT PARAMETERS   -- PARAMETER             MEANING
  573. '                        STRNG$             TITLE OF WHAT COLOR IS FOR
  574. '                        NUM.COLOR          CURRENT COLOR SETTING
  575. '
  576. '  OUTPUT PARAMETERS  -- NUM.COLOR          NEW COLOR SETTING
  577. '
  578. '  SUBROUTINE PURPOSE -- SET THE COLOR USING NATURAL LANGUAGE PHRASES
  579. '
  580.       SUB GETCOLOR (STRNG$,NUM.COLOR) STATIC
  581.       CLS
  582.